'''accessible using "import ways.draw"'''
from __future__ import print_function, division
import matplotlib.pyplot as plt
import info
import tools
import graph

plt.axis('equal')


def plot_path(roads, path, color='g'):
    '''path is a list of junction-ids - keys in the dictionary.
    e.g. [0, 33, 54, 60]
    Don't forget plt.show()'''
    flons, tolons, flats, tolats = [] ,[] ,[] ,[]
    for s, t in zip(path[:-1], path[1:]):
        ps, pt = roads[s], roads[t]
        flons.append(ps.lon)
        tolons.append(pt.lon)
        flats.append(ps.lat)
        tolats.append(pt.lat)
    plt.plot(flons, flats, tolons, tolats, color)


def plot_lights():
    lats, lons = zip(*graph.load_lights())
    unfactor = lambda ns: [x / info.L_FACTOR for x in ns]
    plt.scatter(unfactor(lons), unfactor(lats), s=1, zorder=15)


def set_no_axis():
    frame = plt.gca()
    frame.axes.get_xaxis().set_visible(False)
    frame.axes.get_yaxis().set_visible(False)


def draw_links(roads, count=1000, types=range(len(info.ROAD_TYPES))):
    lons, lats = [], []
    for link in roads.iterlinks():
        if link.highway_type not in types:
            continue
        src = roads[link.source]
        dst = roads[link.target]
        lons.append([src.lon, dst.lon])
        lats.append([src.lat, dst.lat])
    plt.plot(lons, lats, str(1 - 1.0 / (types[0] + 1)), zorder=14 - types[0])


if __name__ == '__main__':
    def _draw_stuff():
        # plt.figure(num=1, figsize=(6, 15))
        # set_no_axis()
        plot_lights()
        roads = graph.load_map_from_csv()#count=10001)
        # draw_links(roads)
        plot_path(roads, [2456, 2457, 663120, 538769, 882038, 884128, 2486, 540271, 540251, 640280, 540269, 884130, 2469, 2477, 884703, 884704, 884705, 884706, 884707, 865049, 884708, 884709, 884710, 884711, 884712, 865095, 884713, 884714, 884715, 884716, 538823, 538824, 538825, 538826, 890032, 884964, 890031, 890030, 890029, 890028, 890027, 890026, 538203, 538204, 538205, 538206, 538207, 538208, 538209, 538210, 538211, 538212, 538213, 538214, 538215, 538216, 538217, 538218, 538219, 538220, 538221, 538222, 538223, 538224, 538225, 538226, 538227, 538228, 538229, 538230, 538231, 538232, 864938, 864937, 864936, 864935, 864934, 864933, 864932, 864931, 864930, 864929, 864928, 864927, 864926, 864925, 864924, 864923, 864922, 864921, 864920, 864919, 864918, 864917, 864916, 864915, 864914, 864913, 864912, 864911, 825786, 825785, 825784, 825783, 825782, 825781, 825780, 825779, 825778, 825777, 515585, 515584, 515583, 891118, 891119, 891120, 7609, 507084, 507085, 507086, 891123, 891124, 891125, 891126, 891127, 714929, 714930, 714931, 714932, 714933, 714934, 714935, 872726, 872725, 872724, 49070, 515557, 515556, 515555, 515554, 515553, 515552, 515551, 515550, 515549, 515548, 515547, 515546, 515545, 515544, 515543, 515542, 515541, 515540, 515539, 515538, 515537, 515536, 515529, 515528, 515527, 515526, 515525, 515524, 515523, 515522, 515521, 515520, 515519, 515518, 515468, 872297, 872296, 515457, 872235, 872234, 515578, 872233, 872232, 872231, 872230, 872229, 872228, 515442, 872227, 872226, 872225, 872224, 872223, 872222, 872221, 872220, 872219, 872218, 872217, 872216, 872215, 800190, 872214, 800112, 713903, 507076, 507077, 507078, 831175, 831176, 831177, 831178, 831179, 831180, 831181, 831182, 517017, 517016, 517015, 517014, 517013, 925484, 925483, 925482, 925481, 925480, 19508, 19509, 866387, 866388, 866378, 866379, 866389, 866390, 866391, 740017, 99379, 99380, 99381, 99382, 99383, 99384, 99385, 99386, 99440, 99439, 99438, 99437, 99436, 99435, 99434, 99433, 99432, 99431, 99430, 99429, 99428, 99427, 99426, 99425, 99424, 99423, 99422, 99421, 99420, 99419, 721351, 721352, 721353, 721354, 721355, 511969, 18120, 721243, 721356, 721278, 721279, 721280, 721281, 721265, 721266, 721267, 721268, 721296, 721297, 721298, 721299, 721300, 721301, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 98204, 98205, 98206, 98207, 98208, 98209, 98210, 98211, 98212, 98213, 98214, 98215, 98216, 98217, 98218, 98219, 98220, 98221, 98222, 98223, 98224, 98225, 98226, 98227, 98228, 98168, 98169, 98170, 99602, 750204, 99953, 509864, 509865, 515908, 515909, 98914, 98915, 98916, 98917, 98918, 98919, 98920, 98921, 98922, 98923, 516070, 516069, 516068, 516067, 516066, 516065, 516064, 516063, 516062, 516061, 516060, 516059, 516058, 516057, 516056, 516055, 516054, 516053, 516052, 516051, 516050, 516049, 516048, 516047, 98708, 506902, 506903, 506904, 506905, 506906, 506907, 506908, 506909, 506901, 506910, 506911, 506912, 506913, 506914, 506915, 506916, 506917, 506918, 506919, 506920, 506921, 506922, 506923, 506946, 506947, 506948, 506949, 506950, 506951, 506952, 506953, 506954, 506955, 518556, 518557, 518558, 518559, 518560, 518561, 518562, 518563, 518564, 518565, 518566, 518567, 518568, 518569, 518570, 506777, 506778, 506779, 518571, 518572, 518573, 518574, 521310, 521311, 521312, 521313, 521314, 521315, 521316, 521317, 521318, 521319, 521320, 521321, 521322, 521323, 521324, 521325, 521326, 521327, 521328, 521329, 521330, 521331, 521332, 521333, 521334, 521335, 521336, 521337, 521338, 521339, 521340, 521341, 521342, 521343, 521344, 521345, 521346, 518401, 518402, 518403, 518404, 518405, 518406, 518407, 518408, 518409, 518410, 518411, 518412, 518413, 518414, 518415, 518416, 518417, 518418, 518419, 518420, 518421, 729962, 729963, 729964, 729965, 729966, 729967, 729968, 729969, 729970, 729971, 729972, 729973, 729974, 729975, 729976, 729977, 729978, 729979, 729980, 729981, 729982, 729983, 729984, 729985, 729986, 729987, 729988, 729989, 729990, 729991, 729992, 729993, 729994, 729995, 729996, 729997, 729998, 729999, 730000, 236189, 236190, 236191, 236192, 236193, 236194, 236195, 236196, 236197, 236198, 236199, 236200, 236201, 236202, 236203, 236204, 236205, 236206, 236207, 236208, 236209, 236210, 236211, 236212, 236213, 236214, 236215, 236216, 236217, 236218, 236219, 236220, 236221, 236222, 236223, 236224, 236225, 236226, 236227, 236228, 236229, 236230, 236231, 236232, 236233, 236234, 236235, 236236, 236237, 236238, 236239, 236240, 236241, 236242, 236243, 236244, 236245, 236246, 236247, 236248, 236249, 236250, 236251, 236252, 236253, 236254, 236255, 236256, 236257, 236258, 236259, 236260, 236261, 236262, 236263, 236264, 236265, 236266, 236267, 236268, 236269, 236270, 236271, 236272, 236273, 236274, 236275, 236276, 236277, 236278, 236279, 236280, 236281, 236282, 236283, 236284, 236285, 236286, 236287, 236288, 236289, 236290, 236291, 236292, 236293, 236294, 236295, 236296, 236297, 236298, 236299, 236300, 236301, 236302, 236303, 236304, 236305, 236306, 236307, 236308, 236309, 236310, 236311, 236312, 236313, 236314, 236315, 236316, 236317, 236318, 236319, 236320, 236321, 236322, 236323, 236324, 236325, 236326, 236327, 236328, 236329, 236330, 236331, 236332, 236333, 236334, 236335, 236336, 236337, 236338, 236339, 236340, 236341, 236342, 236343, 236344, 236345, 236346, 236347, 236348, 236349, 236350, 236351, 236352, 236353, 236354, 236355, 236356, 236357, 236358, 236359, 236360, 236361, 236362, 236363, 236364, 236365, 236366, 236367, 236368, 236369, 236370, 236371, 236372, 236373, 236374, 238733, 238734, 238735, 238736, 238737, 238738, 238739, 238740, 238741, 293163, 293164, 275238, 275237, 275236, 275235, 275234, 275233, 275232, 275231, 275230, 275229, 275228, 275227, 275226, 275225, 275224, 275223, 275222, 275221, 275220, 275219, 275218, 275217, 275216, 275215, 275214, 275213, 275212, 275211, 275210, 275209, 275208, 275207, 275206, 275205, 275204, 275203, 275202, 275201, 275200, 275199, 275198, 286302, 286301, 286300, 286299, 286298, 286297, 286296, 286295, 286294, 247055, 286293, 286292, 225084, 286291, 286290, 286289, 240732, 286288, 286287, 286286, 232294, 286285, 286284, 286283, 286282, 211603, 211604, 211605, 211606, 211607, 211608, 211609, 211610, 280586, 312990, 312991, 225302, 312181, 312992, 268669, 312993, 289545, 282550, 282549, 282548, 282547, 282546, 282545, 277987, 258184, 282544, 282543, 282542, 282541, 282540, 282539, 282538, 232193, 212565, 282537, 228072, 282536, 282535, 227722, 227721, 227720, 227719, 227718, 227717, 227716, 227715, 227714, 227713, 227712, 227711, 227710, 227709, 227708, 227707, 227706, 227705, 243599, 243598, 243597, 243596, 243595, 243594, 244839, 244838, 244837, 244836, 244835, 244834, 244833, 244832, 244831, 244830, 244829, 244828, 244827, 244826, 244825, 244824, 244823, 242614, 234091, 244822, 244821, 244820, 244819, 244818, 244817, 244816, 226722, 244815, 244814, 244813, 244812, 244811, 244810, 244809, 322921, 322920, 246907, 308584, 274844, 277185, 277186, 277187, 277188, 277189, 277190, 277191, 277192, 277193, 222840, 277194, 277195, 277196, 277197, 277198, 277199, 277200, 277201, 281318, 267345, 318660, 318659, 318658, 294671, 318657, 318656, 318655, 248103, 291208, 318654, 318653, 249672, 318652, 318651, 318650, 318649, 318648, 318647, 318646, 318645, 318644, 318643, 318642, 318641, 318640, 240046, 240047, 240048, 240049, 240050, 240051, 240052, 240053, 240054, 240055, 240056, 208126, 240057, 213556, 213555, 213554, 213553, 213552, 213551, 213550, 267026, 267027, 267028, 267029, 267030, 267031, 267032, 267033, 267034, 267035, 267036, 209966, 209967, 209968, 209969, 209970, 209971, 209972, 209973, 209974, 209975, 209976, 209977, 209978, 209979, 209980, 209981, 215287, 215288, 215289, 215290, 215291, 215292, 215293, 215294, 209362, 215295, 215296, 215297, 215298, 215299, 215300, 215301, 215302, 215303, 215304, 215305, 215306, 215307, 215308, 215309, 269632, 269633, 246227, 269634, 269635, 269636, 269637, 269638, 269639, 269640, 253280, 269641, 269642, 269643, 269644, 269645, 269646, 269647, 269648, 269649, 269650, 269651, 269652, 269653, 269654, 269655, 269656, 269657, 269658, 225586, 256306, 269659, 210911, 269660, 269661, 269662, 269663, 269664, 269665, 269666, 269667, 269668, 269669, 269670, 269671, 269672, 223636, 269673, 219451, 269674, 269675, 267777, 269676, 269677, 269678, 225964, 269679, 269680, 269681, 269682, 269683, 222655, 237137, 214205, 269684, 221265, 238857, 267718, 240575, 240576, 240577, 240578, 213173, 240579, 240580, 240581, 216438, 215980, 240582, 240583, 240584, 240585, 240586, 240546, 240587, 240588, 240589, 240590, 240591, 240592, 239284, 240593, 240594, 240595, 240596, 269527, 269528, 269529, 269530, 269531, 269532, 269533, 269534, 269535, 269536, 232400, 269537, 269538, 269539, 269540, 269541, 269542, 269543, 269544, 239235, 269545, 269546, 269547, 269548, 269549, 269550, 207866, 269551, 269552, 269553, 221062, 269554, 269555, 269556, 269557, 269558, 269559, 269560, 269561, 269562, 253187, 269563, 269564, 269565, 269566, 269567, 269568, 269569, 269570, 267176, 269571, 269572, 269573, 269574, 269575, 269576, 269577, 269578, 269579, 269580, 269581, 269582, 269583, 269584, 269585, 269586, 269587, 269588, 269589, 269590, 229230, 269591, 216067, 216068, 216069, 216070, 216071, 216072, 216073, 216074, 216075, 216076, 216077, 216078, 216079, 216080, 216081, 216082, 216083, 216084, 216085, 216086, 216087, 216088, 216089, 216090, 216091, 216092, 216093, 216094, 216095, 216096, 216097, 216098, 216099, 299964, 299963, 299962, 299961, 299960, 299959, 299958, 299957, 299956, 299955, 299954, 299953, 299952, 299951, 299950, 299949, 299948, 299947, 299946, 299945, 299944, 299943, 299942, 299941, 299940, 299939, 299938, 299937, 299936, 299935, 299934, 299933, 299932, 299931, 299930, 299929, 299928, 299927, 299926, 299925, 299924, 299923, 299922, 299921, 299920, 299919, 299918, 299917, 299916, 299915, 299914, 299913, 299912, 299911, 299910, 299909, 299908, 299907, 299906, 299905, 299904, 299903, 299902, 299901, 299900, 219709, 219708, 219707, 219706, 219705, 219704, 219703, 219702, 219701, 219700, 219699, 219698, 219697, 219696, 219695, 219694, 219693, 219692, 219691, 235237, 235238, 235239, 235240, 235241, 235242, 235243, 235244, 235245, 235246, 235247, 235248, 235249, 235250, 235251, 235252, 235253, 235254, 235255, 235256, 235257, 235258, 235259, 235260, 235261, 235262, 235263, 235264, 235265, 235266, 235267, 235268, 235269, 235270, 235271, 235272, 235273, 235274, 235275, 235276, 235277, 235278, 235279, 235280, 235281, 235282, 235283, 235284, 235285, 235286, 235287, 235288, 235289, 235290, 235291, 235292, 235293, 235294, 235295, 235296, 235297, 235298, 235299, 235300, 235301, 235302, 235303, 235304, 235305, 235306, 235307, 235308, 235309, 235310, 235311, 235312, 235313, 235314, 235315, 235316, 235317, 235318, 235319, 235320, 235321, 235322, 235323, 235324, 235325, 235326, 235327, 235328, 235329, 235330, 235331, 235332, 235333, 235334, 235335, 235336, 235337, 235338, 235339, 235340, 235341, 235342, 235343, 235344, 235345])
        #plot_path(roads, [0, 300, 1000, 9999])
        plot_path(roads, [3734, 3733, 3732, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3643, 3484, 3483, 3482, 3481, 3730, 3729, 3728, 3727, 3726, 526937, 526938, 526939, 526940, 526941, 4292, 4293, 3599, 3598, 3597, 3596, 3595, 3594, 3610, 3609, 3771, 3769, 3940, 3941, 3942, 3943, 3944, 764858, 764857, 764762, 764763, 764764, 764765, 764766, 764767, 764768, 764769, 764770, 764771, 764772, 764773, 764774, 764775, 3950, 3951, 3952, 3953, 765013, 765083, 765082, 765081, 765080, 765079, 765078, 764679, 764680, 764681, 764682, 764683, 764684, 764685, 764686, 764649, 764648, 764647, 764646, 764645, 764644, 764643, 764642, 764641, 764640, 764639, 764638, 764637, 764636, 764455, 764635, 764451, 764452, 764453, 764454, 4010, 4011, 4012, 480077, 763749, 763748, 763747, 763746, 763745, 763744, 763743, 480340, 480339, 480338, 480337, 480336, 480335, 480334, 480333, 480332, 480106, 480107, 480108, 480109, 480110, 480111, 480112, 480113, 934387, 934386, 934385, 934384, 934383, 480118, 934299, 934308, 934282, 934309, 934310, 934311, 934312, 934313, 934314, 934315, 934316, 934317, 934318, 934319, 934320, 934321, 934322, 934323, 934885, 764186, 764187, 764188, 764189, 764190, 764191, 764192, 764193, 764194, 764195, 764196, 764197, 764198, 764199, 764133, 764134, 764135, 764136, 764137, 480007, 480008, 479990, 479991, 480041, 480040, 480039, 480038, 480037, 480036, 480035, 480034, 480033, 480032, 480031, 480030, 480029, 480028, 480002, 480001, 480000, 479999, 479998, 763057, 763058, 763059, 763060, 763061, 763062, 763063, 939770, 939769, 939790, 939682, 939789, 939788, 766081, 766082, 766023, 766083, 766084, 765985, 939728, 939729, 939730, 939731, 939732, 939733, 939734, 939735, 939736, 939737, 939738, 766066, 939739, 939740, 766145, 939741, 939742, 939743, 480148, 480147, 480146, 480145, 480144, 480143, 623358, 623357, 623356, 623355, 623354, 623353, 623352, 623351, 623350, 623349, 623348, 623347, 623346, 623345, 623344, 623343, 623342, 623341, 623340, 623339, 623338, 623337, 623336, 623335, 623334, 623333, 623332, 623331, 623330, 623329, 623328, 623327, 623326, 623325, 623324, 623323, 623322, 623321, 623320, 623319, 623318, 623317, 623316, 623315, 623314, 623313, 623312, 623311, 623310, 623309, 623308, 623307, 623306, 623305, 623304, 623303, 623302, 623301, 623300, 623299, 623298, 623297, 623296, 623295, 623294, 623293, 623292, 623291, 623290, 623289, 623288, 623287, 623286, 623285, 623284, 623283, 623282, 623265, 623266, 623267, 623268, 623269, 623270, 623271, 623272, 814989, 814990, 814991, 814992, 814993, 814994, 623437, 623438, 623439, 623440, 623441, 623442, 623443, 623444, 76694, 623445, 87239, 623446, 623447, 623448, 623449, 623450, 623451, 623452, 45666, 45685, 45686, 45687, 919069, 919070, 782356, 782357, 782358, 782359, 782360, 782384, 782385, 782386, 782387, 782388, 782389, 782390, 782405, 782404, 782403, 97443, 782402, 475091, 475092, 475093, 475094, 475095, 782296, 782297, 782298, 782299, 782300, 782408, 782409, 782311, 782312, 782313, 782314, 782294, 782315, 782316, 782317, 782318, 782257, 782258, 780715, 780716, 780717, 780718, 780719, 780720, 45491, 710931, 710932, 710933, 710903, 789557, 789558, 789559, 789560, 710905, 710906, 789534, 789533, 475152, 789532, 789531, 789530, 789503, 789529, 789500, 789499, 789498, 789487, 789488, 789489, 789490, 789491, 789492, 789493, 789494, 789495, 789496, 789497, 45619, 654763, 654762, 654761, 654760, 654759, 789545, 789546, 45611, 789562, 789563, 654786, 92755, 92756, 92757, 45451, 92758, 92759, 92760, 92761, 92762, 92763, 92764, 92765, 92766, 92767, 92768, 92769, 92770, 92771, 92772, 92773, 92774, 92775, 92776, 92777, 774546, 774487, 774457, 774458, 774459, 774460, 774461, 774462, 623039, 774534, 774535, 774536, 774537, 774471, 774472, 774473, 774474, 780812, 780811, 780810, 780809, 780808, 780807, 780827, 780826, 780825, 780783, 780824, 780823, 780822, 780821, 774330, 774329, 774328, 774327, 774326, 774325, 774324, 774323, 774322, 774321, 774320, 774319, 774318, 774317, 774316, 774315, 774314, 774313, 774312, 774311, 774310, 774309, 774308, 774307, 774306, 774305, 774304, 774303, 774302, 478303, 774301, 774300, 774299, 774298, 774297, 774296, 774295, 774294, 774293, 774292, 774291, 643403, 774290, 774146, 774224, 774225, 774226, 774229, 774230, 774231, 774104, 774186, 774187, 18843, 18842, 18841, 18840, 491497, 491498, 491499, 491500, 491501, 491502, 146584, 146583, 460746, 460745, 460744, 460743, 460742, 460741, 460740, 460739, 162476, 130456, 162477, 162478, 162479, 162480, 130128, 130127, 130126, 130125, 130124, 130123, 130122, 130121, 130120, 130119, 130118, 130117, 130116, 130115, 130114, 130113, 130112, 130111, 130110, 130109, 130108, 130107, 130106, 130105, 130104, 130103, 130102, 130101, 130100, 130099, 130098, 130097, 130096, 130095, 130094, 132722, 132723, 132724, 132725, 132726, 132727, 132728, 132729, 132730, 132731, 132732, 132733, 132734, 132735, 132736, 132737, 132738, 132739, 132740, 132741, 132742, 132743, 132744, 132745, 132746, 132747, 132748, 132749, 132750, 132751, 132752, 132753, 132754, 132755, 132756, 132757, 132758, 132759, 132760, 132761, 132762, 116727, 132763, 132764, 132765, 132766, 132767, 132768, 129116, 132769, 132770, 141911, 141912, 141913, 141914, 141915, 141916, 141917, 141918, 141919, 141920, 141921, 141922, 141923, 141924, 141925, 141926, 141927, 141928, 141929, 141930, 141931, 141932, 141933, 141934, 141935, 141936, 141937, 141938, 141939, 141940, 141941, 141942, 141943, 141944, 141945, 141946, 141947, 141948, 141949, 141950, 141951, 141952, 141953, 141954, 119318, 119317, 119316, 119315, 564958, 564959, 564960, 564961, 564962, 564963, 564964, 564965, 564966, 564967, 564968, 564969, 129098, 129097, 129096, 129095, 129094, 129093, 129092, 129091, 129090, 129089, 129088, 129087, 132028, 132029, 132030, 132031, 132032, 132033, 132034, 119814, 132035, 132036, 132037, 132038, 132039, 132040, 132041, 132042, 132043, 132044, 132045, 132046, 132047, 132048, 132049, 132050, 132051, 132052, 132053, 132054, 132055, 132056, 132057, 132058, 132059, 132060, 132061, 132062, 132063, 132064, 132065, 132066, 132067, 132068, 132069, 132070, 115890, 158018, 134055, 121995, 121996, 121997, 145270, 145269, 145268, 145267, 145266, 145265, 145264, 145263, 133781, 158812, 116747, 116748, 116749, 116750, 116751, 116752, 116753, 116754, 164282, 164281, 164280, 164279, 164278, 164277, 164276, 164275, 164274, 164273, 164272, 164271, 164270, 164269, 164268, 126903, 126904, 126905, 126906, 126907, 126908, 126909, 126910, 126911, 910874, 910873, 910872, 910871, 910870, 910869, 910868, 910867, 910866, 910865, 910864, 910863, 910862, 910861, 910860, 910859, 153780, 153781, 153782, 153783, 153784, 153785, 153786, 153787, 153788, 153789, 153790, 153791, 153792, 153793, 153794, 153795, 153796, 153797, 157584, 157585, 157586, 157587, 157588, 157589, 157590, 157591, 157592, 157593, 157594, 157595, 157596, 157597, 157598, 157599, 157600, 157601, 157602, 157603, 157604, 119601, 119600, 119599, 119598, 131537, 131536, 131535, 128324, 128323, 120878, 120877, 120876, 120875, 120874, 120873, 120872, 120871, 120870, 120869, 120868, 120867, 120866, 120514, 137791, 137790, 150302, 150303, 150304, 139297, 139296, 139295, 139294, 127315, 127314, 127313, 127312, 147655, 147654, 147653, 147652, 138580, 147651, 147650, 147649, 147648, 147647, 147646, 147645, 147644, 147643, 147642, 147641, 117720, 117721, 117722, 117723, 117724, 117725, 117726, 117727, 117728, 117729, 117730, 144694, 144695, 144696, 144697, 144698, 144699, 144700, 135471, 125617, 125618, 125619, 125620, 125621, 125622, 125623, 156957, 156958, 156959, 156960, 156961, 156962, 156963, 156964, 138047, 156965, 156966, 156967, 156968, 156969, 156970, 156971, 156972, 156973, 156974, 156975, 156976, 156977, 156978, 156979, 156980, 156981, 156982, 125001, 156983, 137237, 156984, 118496, 123473, 123472, 123471, 123470, 123469, 123468, 130762, 121277, 121276, 121275, 121274, 121273, 121272, 121271, 121270, 121269, 121268, 121267, 121266, 121265, 121264, 121263, 121262, 121261, 121260, 121259, 121258, 121257, 121256, 121255, 121254, 121253, 121252, 121251, 121250, 121249, 121248, 121247, 121246, 121245, 121244, 121243, 121242, 121241, 121240, 121239, 121238, 121237, 121236, 121235, 121234, 121233, 121232, 121231, 121230, 121229, 121228, 121227, 121226, 121225, 121224, 121223, 121222, 121221, 121220, 121219, 121218, 121217, 121216, 121215, 121214, 121213, 121212, 121211, 121210, 115680, 121209, 121208, 121207, 133562, 133561, 133560, 133559, 133558, 133557, 133556, 133555, 133554, 134053, 134054, 158195, 158196, 158197, 158198, 158199, 158200, 133622, 120207, 120208, 120209, 119128, 119127, 157274, 157275, 157276, 157277, 133613, 119126, 119125, 146310, 138011, 146311, 126087, 126088, 911176, 911177, 773335, 911178, 161564, 161563, 116676, 116675, 116674, 116673, 116672, 116671, 116670, 116669, 116668, 116667, 116666, 116665, 116664, 116663, 116662, 116661, 116660, 116659, 116658, 116657, 116656, 116655, 116654, 116653, 116652, 116651, 116650, 116649, 116648, 116647, 116646, 116645, 116644, 116643, 116642, 116641, 116640, 116639, 116638, 116637, 116636, 116635, 116634, 116633, 116632, 116631, 116630, 116629, 116628, 116627, 116626, 116625, 116624, 116623, 121657, 121658, 151733, 151732, 151731, 151730, 151729, 151728, 151727, 151726, 151725, 151724, 151723, 151722, 151721, 151720, 151719, 151718, 151717, 151716, 151715, 151714, 151713, 133190, 133189, 121423, 121422, 121421, 121420, 121419, 121418, 121417, 121416, 121415, 121414, 121413, 121412, 121411, 121410, 121409, 121408, 121407, 121406, 121405, 121404, 121403, 121402, 121401, 121400, 121399, 121398, 116485, 116486, 116487, 116488, 116489, 116490, 116491, 116492, 116493, 116494, 116495, 116496, 116497, 116498, 121089, 121090, 121091, 121092, 121093, 121094, 121095, 121096, 121097, 121098, 121099, 121100, 121101, 121102, 121103, 121104, 121105, 121106, 121107, 121108, 121109, 121110, 121111, 121112, 121113, 121114, 121115, 121116, 121117, 121118, 121119, 121120, 121121, 121122, 121123, 121124, 121125, 121126, 121127, 121128, 121129, 121130, 121131, 121132, 121133, 133534, 133533, 133532, 133531, 133530, 147616, 147615, 147614, 147613, 165906, 121768, 121769, 116806, 116805, 116804, 116803, 116802, 116801, 116800, 116799, 116798, 116797, 116796, 116795, 116794, 116793, 116792, 116791, 116790, 116789, 116788, 116787, 116786, 116785, 116784, 116783, 116782, 116781, 116780, 116779, 149299, 149298, 149297, 149296, 149295, 147794, 149294, 149293, 149292, 149291, 149290, 149289, 149288, 149287, 149286, 149285, 149284, 149283, 149282, 149281, 149280, 149279, 149278, 149277, 149276, 149275, 149274, 149273, 149272, 149271, 149270, 149269, 149268, 149267, 149266, 149265, 149264, 149263, 149262, 149261, 149260, 149259, 149258, 149257, 149256, 149255, 149254, 149253, 149252, 149251, 149250, 149249, 149248, 149247, 149246, 149245, 149244, 149243, 149242, 149241, 149240, 149239, 149238, 149237, 149236, 149235, 149234, 149233, 149232, 149231, 149230, 149229, 149228, 149227, 149226, 149225, 149224, 149223, 149222, 149221, 149220, 149219, 149218, 149217, 149216, 149215, 149214, 149213, 149212, 149211, 149210, 149209, 149208, 149207, 149206, 149205, 130162, 149204, 149203, 149202, 149201, 149200, 149199, 149198, 149197, 149196, 149195, 149194, 149193, 149192, 149191, 149190, 149189, 149188, 149187, 149186, 149185, 149184, 149183, 149182, 149181, 149180, 149179, 149178, 149177, 149176, 149175, 149174, 149173, 149172, 149171, 149170, 149169, 149168, 149167, 149166, 149165, 149164, 149163, 149162, 149161, 149160, 149159, 149158, 149157, 149156, 149155, 149154, 149153, 149152, 149151, 149150, 149149, 149148, 149147, 149146, 149145, 149144, 149143, 149142, 149141, 149140, 149139, 149138, 149137, 149136, 149135, 149134, 149133, 149132, 149131, 149130, 149129, 149128, 149127, 149126, 149125, 149124, 149123, 149122, 149121, 149120, 149119, 142191, 149118, 149117, 149116, 149115, 149114, 149113, 149112, 149111, 149110, 149109, 149108, 149107, 149106, 149105, 149104, 149103, 149102, 149101, 149100, 149099, 149098, 149097, 149096, 149095, 149094, 149093, 149092, 149091, 149090, 149089, 149088, 149087, 149086, 149085, 149084, 149083, 149082, 143886, 123051, 123052, 123053, 123054, 123055, 123056, 123057, 123058, 123059, 123060, 123061, 123062, 123063, 123064, 123065, 123066, 123067, 123068, 123069, 123070, 123071, 123072, 123073, 123074, 123075, 123076, 123077, 123078, 123079, 123080, 123081, 123082, 123083, 123084, 123085, 123086, 123087, 123088, 123089, 123090, 123091, 123092, 123093, 123094, 123095, 123096, 123097, 123098, 123099, 123100, 123101, 123102, 123103, 123104, 123105, 123106, 123107, 123108, 123109, 123110, 123111, 123112, 123113, 123114, 123115, 123116, 123117, 123118, 123119, 123120, 123121, 123122, 123123, 123124, 123125, 123126, 144738, 144739, 144740, 144741, 144742, 144743, 144744, 144745, 144746, 144747, 144748, 144749, 144750, 144751, 144752, 144753, 144754, 144755, 144756, 144757, 144758, 144759, 144760, 144761, 144762, 144763, 144764, 144765, 144766, 144767, 144768, 144769, 144770, 144771, 144772, 144773, 144774, 144775, 144776, 144777, 144778, 144779, 144780, 144781, 144782, 150790, 150791, 150792, 150793, 150794, 150795, 150796, 150797, 150798, 150799, 150800, 150801, 150802, 150803, 150804, 150805, 150806, 150807, 150808, 150809, 150810, 128962, 128961, 134893, 134892, 134891, 134890, 134889, 134888, 134887, 134886, 134885, 134884, 125647, 125646, 125645, 125644, 125643, 125642, 125641, 125640, 125639, 125638, 125637, 125636, 125635, 125634, 136852, 127441, 136851, 136850, 136849, 136848, 136847, 136846, 117617, 136845, 136844, 136843, 136842, 136841, 136840, 136839, 136838, 136837, 136836, 136835, 136834, 131065, 136833, 136832, 117104, 125492, 125491, 125490, 125489, 125488, 125487, 125486, 125485, 125484, 125483, 125482, 125481, 125480, 155375, 164330, 164329, 164328, 164327, 164326, 164325, 164324, 164323, 164322, 164321, 164320, 164319, 164318, 164317, 123284, 123285, 123286, 136427, 136426, 136425, 136424, 136423, 136422, 136421, 136420, 136419, 136418, 136417, 136416, 136415, 136414, 136413, 136412, 136411, 136410, 136409, 136408, 136407, 136406, 136405, 136404, 136403, 136402, 136401, 136400, 136399, 136398, 136397, 123550, 136396, 136395, 136394, 136393, 136392, 136391, 136390, 137027, 137026, 137025, 137024, 137023, 137022, 137021, 137020, 137019, 137018, 137017, 137016, 137015, 137014, 137013, 137012, 137011, 137010, 142190, 142189, 142188, 142187, 164881, 164880, 164879, 164878, 164877, 164876, 164875, 164874, 164873, 164872, 164871, 164870, 164869, 164868, 164867, 164866, 164865, 164864, 164863, 164862, 164861, 164860, 164859, 164858, 164857, 164856, 164855, 144378, 144377, 144376, 144375, 141883, 117537, 144374, 144373, 130931, 144372, 144371, 144370, 144369, 144368, 144367, 144366, 144365, 144364, 144363, 144362, 144361, 147488, 115801, 115800, 115799, 115798, 115797, 115796, 115795, 115794, 115793, 115792, 115791, 115790, 115789, 115788, 115787, 115786, 115785, 115784, 115783, 115782, 155401, 155402, 155403, 155404, 139567, 155405, 155406, 155407, 155408, 155409, 155410, 155411, 155412, 155413, 155414, 155415, 155416, 155417, 155418, 155419, 155420, 155421, 155422, 155423, 329605, 329606, 329607, 329608, 329609, 329610, 329611, 329612, 329613, 329614, 329615, 329616, 329617, 329618, 329619, 329620, 329621, 329622, 329623, 329624, 329625, 329626, 329627, 329628, 329629, 329630, 329631, 329632, 329633, 329634, 329635, 329636, 329637, 329638, 329639, 329640, 329641, 173189, 329642, 329643, 329644, 329645, 329646, 355969, 181399, 181400, 181401, 181402, 181403, 181404, 181405, 181406, 181407, 181408, 181409, 181410, 181411, 181412, 181413, 181414, 181415, 181416, 181417, 181418, 181419, 181420, 181421, 181422, 181423, 181424, 181425, 181426, 181427, 181428, 181429, 181430, 181431, 181432, 181433, 181434, 181435, 181436, 181437, 181438, 181439, 181440, 181441, 181442, 181443, 181444, 181445, 181446, 181447, 181448, 181449, 181450, 181451, 181452, 181453, 181454, 181455, 181456, 181457, 181458, 181459, 181460, 181461, 181462, 181463, 181464, 181465, 181466, 181467, 181468, 181469, 181470, 181471, 181472, 181473, 181474, 181475, 181476, 181477, 181478, 181479, 181480, 181481, 181482, 181483, 181484, 181485, 181486, 181487, 181488, 181489, 181490, 181491, 181492, 181493, 181494, 181495, 181496, 181497, 181498, 181499, 181500, 181501, 181502, 181503, 181504, 181505, 181506, 181507, 181508, 181509, 181510, 181511, 181512, 181513, 174374, 181514, 181515, 181516, 181517, 181518, 181519, 356029, 356030, 356031, 356032, 356033, 356034, 356035, 356036, 356037, 176164, 356038, 356039, 356040, 356041, 356042, 356043, 356044, 330139, 356045, 356046, 356047, 356048, 356049, 356050, 356051, 356052, 356053, 356054, 356055, 356056, 356057, 356058, 356059, 356060, 356061, 356062, 356063, 356064, 356065, 356066, 356067, 356068, 356069, 356070, 356071, 356072, 356073, 356074, 356075, 356076, 356077, 356078, 356079, 356080, 356081, 356082, 356083, 356084, 356085, 356086, 356087, 356088, 356089, 356090, 356091, 356092, 356093, 356094, 356095, 356096, 356097, 356098, 356099, 356100, 356101, 356102, 356103, 356104, 356105, 356106, 356107, 356108, 356109, 356110, 356111, 356112, 356113, 356114, 356115, 356116, 356117, 356118, 356119, 356120, 356121, 356122, 356123, 356124, 356125, 356126, 356127, 356128, 356129, 356130, 356131, 356132, 356133, 356134, 356135, 356136, 356137, 356138, 356139, 356140, 356141, 356142, 356143, 356144, 356145, 356146, 356147, 356148, 356149, 356150, 356151, 356152, 356153, 356154, 356155, 356156, 356157, 356158, 356159, 356160, 356161, 356162, 356163, 356164, 356165, 356166, 356167, 356168, 356169, 426455, 426456, 426457, 426458, 426459, 426460, 426461, 426462, 426463, 426464, 426465, 426466, 426467, 426468, 426469, 426470, 426471, 426472, 426473, 426474, 426475, 426476, 426477, 426478, 426479, 426480, 426481, 426482, 426483, 426484, 426485, 426486, 426487, 426488, 426489, 426490, 426491, 426492, 426493, 426494, 426495, 426496, 426497, 426498, 426499, 426500, 426501, 426502, 426503, 426504, 426505, 426506, 426507, 426508, 426509, 426510, 426511, 426512, 426513, 426514, 426515, 426516, 426517, 426518, 426519, 426520, 426521, 426522, 426523, 426524, 426525, 426526, 426527, 426528, 426529, 426530, 426531, 426532, 426533, 426534, 426535, 426536, 426537, 426538, 426539, 426540, 426541, 426542, 426543, 426544, 426545, 426546, 426547, 426548, 426549, 426550, 426551, 426552, 426553, 426554, 426555, 426556, 426557, 426558, 426559, 426560, 426561, 426562, 426563, 426564, 426565, 426566, 426567, 426568, 426569, 426570, 426571, 426572, 426573, 426574, 426575, 426576, 426577, 426578, 426579, 426580, 426581, 426582, 426583, 426584, 426585, 426586, 426587, 426588, 426589, 426590, 426591, 426592, 426593, 426594, 426595, 426596, 426597, 426598, 426599, 426600, 426601, 426602, 426603, 426604, 426605, 426606, 426607, 426608, 426609, 426610, 426611, 426612, 426613, 426614, 426615, 426616, 426617, 426618, 426619, 426620, 426621, 426622, 426623, 426624, 426625, 426626, 426627, 426628, 426629, 426630, 426631, 426632, 426633, 426634, 426635, 426636, 426637, 426638, 426639, 447644, 447643, 447642, 447641, 447640, 447639, 447638, 447637, 447636, 447635, 447634, 447633, 447632, 447631, 447630, 447629, 425937, 425936, 425935, 425934, 425933, 425932, 425931, 425930, 425929, 425928, 425927, 425926, 425925, 425924, 425923, 425922, 425921, 425920, 425919, 425918, 425917, 425916, 455535, 455534, 455533, 455532, 455531, 455530, 455529, 455528, 455527, 455526, 455525, 455524, 426440, 455523, 455522, 455521, 455520, 455519, 455518, 455517, 455516, 455515, 455514, 455513, 455512, 455511, 421180, 421181, 421182, 421183, 421184, 421185, 421186, 451227, 451226, 440773, 440772, 440771, 426353, 440672, 440671, 422816, 440670, 450738, 450739, 450740, 450741, 450742, 450743, 450744, 450745, 450746, 430212, 430213, 430214, 433447, 433448, 433449, 433450, 433451, 439962, 439963, 422471, 422472, 422473, 422474, 422475, 422476, 422477, 422478, 422479, 422480, 422302, 422481, 422482, 422483, 422484, 422485, 422486, 422487, 422488, 422489, 422490, 434138, 440909, 440910, 440911, 440912, 440913, 440914, 429710, 440915, 440916, 440917, 440918, 442978, 442979, 442980, 442981, 442982, 442983, 442984, 442985, 442986, 442987, 442988, 442989, 442990, 442991, 442992, 442993, 442994, 442995, 442996, 442997, 442998, 442999, 443000, 443001, 443002, 443003, 443004, 443005, 443006, 443007, 443008, 443009, 443010, 443011, 430635, 431273, 443012, 443013, 443014, 443015, 443016, 443017, 443018, 443019, 443020, 443021, 443022, 443023, 443024, 443025, 443026, 443027, 443028, 443029, 443030, 443031, 443032, 443033, 443034, 443035, 443036, 443037, 443038, 443039, 443040, 443041, 443042, 443043, 443044, 443045, 443046, 443047, 443048, 443049, 443050, 443051, 443052, 443053, 443054, 443055, 443056, 443057, 443058, 443059, 443060, 443061, 451194, 451195, 451196, 451197, 451198, 451199, 451200, 451201, 451202, 451203, 451204, 451205, 451206, 451207, 451208, 451209, 451210, 451211, 451212, 451213, 451214, 451215, 451216, 451217, 451218, 447477, 447476, 447475, 447474, 447473, 447472, 447471, 447470, 447469, 447468, 447467, 447466, 447465, 447464, 447463, 447462, 447461, 447460, 447459, 447458, 447457, 447456, 447455, 447454, 447453, 447452, 447451, 447450, 447449, 447448, 447447, 447446, 447445, 447444, 447443, 447442, 447441, 447440, 447439, 447438, 447437, 447436, 447435, 447434, 447433, 447432, 447431, 447430, 447429, 447428, 447427, 447426, 447425, 447424, 447423, 447422, 447421, 447420, 447419, 447418, 447417, 447416, 447415, 447414, 447413, 447412, 447411, 447410, 447409, 447408, 447407, 447406, 447405, 447404, 447403, 447402, 447401, 447400, 447399, 447398, 447397, 447396, 447395, 447394, 447393, 447392, 447391, 447390, 447389, 447388, 447387, 447386, 447385, 447384, 447383, 447382, 447381, 447380, 447379, 447378, 447377, 447376, 447375, 447374, 447373, 447372, 447371, 447370, 447369, 447368, 447367, 447366, 447365, 429461, 429460, 429459, 429458, 429457, 429456, 429455, 429454, 429453, 429452, 429451, 429450, 429449, 429448, 429447, 429446, 429445, 429444, 446280, 446279, 439145, 446278, 446277, 446276, 446275, 446274, 446273, 451570, 451571, 451572, 451573, 451574, 451575, 458291, 458290, 458289, 458288, 458287, 458286, 458285, 458284, 458283, 458282, 458281, 458280, 427854, 441653, 441652, 441651, 441650, 441649, 437763, 441648, 441647, 441646, 441645, 441644, 441643, 441642, 441641, 456904, 456905, 437874, 456906, 445478, 456907, 456908, 456909, 456910, 425237, 424030, 424031, 424032, 424033, 424034, 424035, 424036, 424037, 424038, 424039, 424040, 424041, 432844, 432843, 432842, 432841, 432840, 432839, 432838, 432837, 432836, 432835, 432834, 432833, 432832, 456760, 456761, 456762, 456763, 456764, 456765, 456766, 456767, 456768, 456769, 456770, 436135, 456771, 456772, 456773, 456774, 458045, 458046, 458047, 458048, 458049, 458050, 458051, 458052, 458053, 458054, 458055, 458056, 438264, 438263, 438262, 438261, 438260, 438259, 438258, 438257, 438256, 438255, 438254, 438253, 438252, 438251, 438250, 438249, 438248, 438247, 438246, 438245, 438244, 438243, 438242, 438241, 438240, 438239, 438238, 438237, 438236, 438235, 438234, 438233, 438232, 438231, 438230, 438229, 438228, 438227, 442465, 426700, 444382, 444381, 444380, 444379, 444378, 444377, 444376, 444375, 444374, 444373, 444372, 444371, 444370, 444369, 444368, 444367, 444366, 444365, 444364, 444363, 444362, 444361, 444360, 444359, 444358, 444357, 444356, 444355, 444354, 453765, 453766, 453767, 453768, 453769, 453652, 453770, 449834, 453771, 453772, 428478, 453773, 453774, 453775, 453776, 439083, 439082, 439081, 439080, 433728, 439079, 439078, 439077, 439076, 439075, 439074, 439073, 439072, 439071, 439070, 439069, 439068, 439067, 439066, 439065, 439064, 439063, 423937, 439062, 439061, 439060, 439059, 423794, 439058, 439057, 439056, 439055, 439054, 439053, 439052, 439051, 435648, 439050, 439049, 439048, 439047, 439046, 456750, 456749, 456748, 456747, 456746, 456745, 456744, 425314, 425313, 425312, 425311, 425310, 425309, 425308, 425307, 425306, 425305, 425304, 425303, 425302, 425301, 425300, 425299, 423344, 456730, 456729, 445731, 445730, 445729, 445728, 445727, 445726, 445725, 445724, 445723, 445722, 445721, 423848, 423847, 423846, 423845, 446446, 446445, 446444, 446443, 446442, 446441, 446440, 446439, 427678, 427677, 421261, 421262, 438751, 438750, 438749, 438748, 438747, 438746, 438745, 438744, 438743, 438742, 438741, 438740, 438739, 438738, 438737, 443491, 443492, 457972, 457973, 457974, 457975, 425903, 438571, 438570, 438569, 438568, 438567, 438566, 438565, 428675, 428674, 441257, 441256, 441255, 441254, 441253, 421244, 441252, 456413, 456412, 456411, 440969, 426413, 426414, 426415, 426416, 426417, 421107, 426418, 426419, 426420, 426421, 426422, 426423, 458090, 458089, 458088, 458087, 458086, 458085, 458084, 434894, 434895, 434896, 434897, 434898, 451982, 451983, 451984, 451985, 451986, 451987, 451988, 451989, 451990, 451991, 424889, 451992, 451993, 451994, 451995, 451996, 451997, 451998, 451999, 448364, 459885, 459886, 442584, 459887, 459888, 459889, 422422, 459890, 459891, 459892, 459893, 459894, 459895, 459896, 459897, 456296, 456295, 456294, 456293, 456292, 456291, 456290, 456289, 456288, 918494, 918493, 918500, 918488, 918475, 918467, 918487, 918486, 918485, 918484, 918483, 918482, 918481, 918521, 918520, 918519, 799742, 799741, 799710, 799709, 799708, 799707, 799706, 799705, 799704, 462184, 799703, 28218, 837269, 837270, 837271, 837272, 837273, 837274, 847124, 847363, 847364, 847365, 918753, 918754, 918755, 847166, 847165, 847164, 847163, 847162, 847161, 847160, 847159, 847106, 847158, 847155, 847154, 847153, 847152, 847151, 847150, 847149, 847148, 847147, 847175, 918542, 918543, 918544, 918545, 847169, 847168, 847487, 847486, 847485, 847484, 847483, 847482, 847481, 847497, 847496, 847495, 847494, 847493, 847492, 847491, 847490, 847341, 847340, 918728, 918729, 918730, 847556, 847555, 847554, 847553, 847552, 847551, 847550, 847332, 847549, 847548, 847547, 847546, 847545, 847544, 847543, 847542, 847541, 847540, 847539, 847538, 847537, 847536, 908724, 908725, 908726, 908727, 908728, 908729, 908730, 908731, 597011, 597010, 597009, 597008, 597007, 67292, 596984, 596985, 596986, 596987, 596988, 596989, 41233, 41232, 41231, 61377, 61376, 907045, 907044, 795980, 795979, 795978, 795923, 795977, 795898, 795899, 795900, 795901, 795750, 795749, 795748, 795747, 795929, 795981, 795820, 795819, 795818, 795817, 795816, 796011, 796010, 796009, 796008, 796007, 795645, 795646, 795647, 795648, 795649, 795650, 795651, 795652, 795653, 795654, 795655, 795656, 795657, 795658, 795659, 795660, 795661, 795662, 795663, 795664, 795949, 795763, 795948, 597895, 795776, 795726, 795777, 795778, 795779, 795780, 795781, 10471, 10470, 10469, 10468, 10467, 10466, 10465, 10464, 10463, 10462, 10461, 10460, 10459, 10458, 10283, 10284, 897704, 897703, 650489, 650488, 650487, 650516, 650515, 650531, 650530, 650529, 650528, 897715, 897714, 897713, 897712, 897711, 650543, 650508, 650509, 650510, 650511, 650512, 73241, 73240, 73239, 73238, 73237, 73256, 73257, 73258, 73242, 73243, 73244, 73245, 73246, 73247, 73291, 73292, 558664, 558665, 558666, 558667, 558668, 558669, 558670, 558671, 558651, 558652, 558653, 558654, 828431, 828430, 828429, 828428, 558687, 828427, 828426, 828425, 828424, 828412, 828403, 558650, 558635, 558636, 595216, 595217, 595218, 595219, 595220, 595221, 595198, 595199, 595200, 595201, 595202, 595203, 595204, 595205, 595206, 595207, 595208, 595222, 596779, 76339, 76340, 558612, 558611, 558610, 558609, 558608, 558607, 558606, 558605, 558604, 558593, 558594, 558595, 558596, 558592, 558597, 558598, 558599, 558600, 558601, 558602, 558572, 558573, 558574, 558575, 558576, 558577, 558578, 547990, 563173, 563174, 563175, 563176, 547988, 563177, 563178, 563179, 563180, 563181, 569007, 740714, 740713, 740712, 740711, 740710, 568917, 568916, 558540, 558539, 558538, 558537, 569886, 569861, 569887, 569888, 569889, 569890, 569891, 569892, 569893, 569884, 569894, 569895, 569896, 563125, 563126, 563127, 563128, 563129, 563130, 563131, 563132, 563133, 563134, 563135, 563136, 563137, 563138, 563139, 563140, 563141, 563142, 563143, 563144, 563145, 597074, 626539, 569258, 559081, 626540, 626541, 626542, 626543, 626544, 626545, 548845, 548844, 548843, 548842, 548841, 548840, 548839, 548838, 548837, 548836, 548835, 548834, 548833, 548832, 548831, 548830, 548829, 548828, 548827, 548826, 548825, 548824, 548823, 548822, 548821, 548820, 548819, 548818, 548817, 548816, 548815, 548814, 548813, 548812, 548811, 548807, 548806, 548805, 548804, 548803, 548802, 548801, 548800, 548799, 548798, 548797, 548796, 548795, 548794, 548793, 548792, 548791, 548790, 548789, 548788, 548787, 548786, 548785, 548784, 548783, 548782, 548781, 548780, 548779, 548778, 548777, 548776, 548775, 548774, 548773, 548772, 548771, 548770, 548769, 548768, 548767, 548766, 548579, 548578, 548577, 548576, 548575, 548574, 548573, 548572, 548571, 548570, 548569, 548568, 548567, 548544, 548543, 548542, 548566, 548565, 548564, 548563, 548562, 548561, 548560, 548559, 548558, 548541, 548540, 548539, 548538, 548537, 548536, 548535, 548534, 548533, 548532, 548531, 548530, 548529, 548528, 548527, 548526, 548525, 548524, 548523, 548522, 548521, 548520, 548519, 548518, 548517, 548516, 626546, 626547, 590169, 590170, 590171, 590172, 590173, 590174, 590175, 590176, 590177, 25584, 25647, 590178, 590179, 552946, 590180, 524888, 525673, 525678, 525679, 54753, 54754, 54755, 54756, 54757, 54758, 54759, 54760, 46459, 46460, 46461, 46462, 526423, 526422, 526430, 25633, 25634, 25635, 25632, 25631, 25630, 25629, 25628, 25627, 891576, 891577, 891578, 891579, 891580, 891595, 525409, 525408, 891622, 891621, 911413, 891553, 572807, 572808, 545829, 572809, 572810, 524714, 525072, 525073, 525074, 525071, 525075, 525076, 525077, 525078, 525084, 525085, 890922, 524686, 524685, 524684, 65720, 526107, 533459, 65712, 65713, 65714, 525275, 65705, 65753, 65703, 65702, 65699, 65698, 46416, 46431, 46430, 46429, 46428, 46415, 25761, 529441, 864673, 528681, 818159, 818160, 818161, 818162, 818163, 818164, 818165, 818166, 890054, 890052, 878071, 834002, 890053, 29911, 65759, 65760, 540286, 540287, 540288, 614865, 614866, 614867, 614868, 614869, 614870, 614871, 627340, 627341, 614848, 614847, 614846, 661075, 661076, 661077, 553177, 553178, 553179, 661081, 661082, 661083, 661084, 661085, 614836, 614835, 614834, 614833, 856689, 856690, 856691, 856692, 856693, 856694, 856695, 856696, 856697, 648731, 648732, 648733, 648734, 648726, 648720, 648719, 648652, 648718, 648717, 627354, 627355, 627356, 627357, 627358, 627359, 467497, 467496, 467495, 467494, 68488, 467493, 467492, 467491, 467490, 467489, 467488, 467421, 467487, 68236, 68235, 68234, 68233, 68232, 68231, 68230, 68229, 68228, 68227, 68226, 467470, 467471, 467472, 68281, 68282, 68283, 68284, 68285, 467473, 467474, 68188, 467475, 467476, 28968, 28969, 28970, 28971, 28972, 28973, 28974, 28975, 28976, 28977, 28978, 28954, 28955, 28956, 28957, 28958, 28934, 28935, 30827, 30828, 30829, 30830, 554322, 554323, 554324, 554325, 554326, 554327, 554328, 554329, 554330, 554331, 554332, 554333, 554334, 554335, 553885, 553884, 556318, 556319, 556320, 556321, 556322, 554031, 554030, 554029, 554028, 554027, 554026, 554025, 554024, 554023, 554022, 554021, 554020, 554019, 554018, 554017, 556317, 556316, 556315, 556314, 556313, 556312, 556311, 556310, 556309, 556308, 556307, 556306, 556305, 556304, 556303, 556302, 556297, 556298, 556299, 556300, 556301, 556296, 550978, 660456, 660457, 660458, 550975, 660459, 660460, 660461, 553274, 660462, 660463, 50656, 16422, 16423, 16424, 16425, 28805, 28806, 28807, 28808, 28809, 563319, 563334, 563335, 563336, 563337, 531000, 563338, 551608, 563339, 563340, 563341, 563342, 563343, 28756, 732005, 732006, 28789, 28810, 28811, 30850, 30851, 30852, 30853, 30854, 30855, 30856, 30857, 30858, 30859, 30860, 30861, 30862, 30863, 30864, 30865, 30866, 30867, 30868, 30869, 30870, 30871, 30872, 30873, 30874, 30875, 30876, 30877, 30878, 30879, 30880, 30881, 30882, 30883, 30884, 30885, 30886, 30887, 30888, 30843, 31928, 31929, 31930, 31931, 31932, 31933, 714840, 714783, 714887, 714886, 714885, 714796, 714797, 714906, 714905, 714904, 714903, 714902, 714901, 714900, 714899, 714920, 714767, 714754, 714755, 714756, 714757, 714758, 714759, 714907, 714908, 680615, 680614, 680613, 855746, 726551, 855745, 36343, 36342, 36341, 36340, 36339, 36338, 36337, 36323, 36336, 36366, 680328, 680327, 680326, 680325, 680324, 680323, 680322, 680321, 680320, 680319, 680306, 680318, 680317, 680316, 680295, 680603, 680604, 680605, 680606, 680618, 680333, 29208, 29207, 29206, 628893, 628892, 628897, 35446, 35447, 35448, 35449, 35450, 35451, 35452, 35453, 35454, 35455, 882749, 882748, 628857, 628858, 628859, 628860, 628861, 39205, 39393, 39392, 39306, 39167, 39428, 39489, 39328, 39144, 39227, 39359, 39360, 38994, 39098, 39189, 39188, 39229, 39411, 39410, 39409, 39408, 39407, 39406, 39405, 39404, 39403, 39402, 39401, 39400, 39197, 39198, 39105, 39199, 39200, 39201, 39202, 30992, 31000, 31001, 31002, 914938, 914939, 914940, 914941, 31852, 39297, 530999, 914934, 743325, 914935, 648612, 466538, 742283, 914936, 914937, 17962, 652631, 39031, 652632, 652633, 652634, 652635, 652636, 582152, 582151, 582150, 582149, 582148, 582147, 582146, 582145, 582144, 466099, 582143, 582077, 582142, 582141, 582079, 582024, 582025, 582026, 582186, 582187, 582174, 582175, 582176, 582177, 582171, 582172, 582173, 582126, 582069, 582135, 936339, 936340, 936341, 936342, 936343, 582056, 879598, 936344, 582055, 582065, 826880, 826879, 826878, 826847, 826877, 826876, 826875, 826874, 826836, 826837, 826838, 826839, 826840, 862413, 862423, 862422, 862421, 862420, 862419, 862418, 862417, 862416, 862415, 634859, 536235, 536234, 36302, 536233, 536232, 536231, 536230, 36301, 715765, 715758, 715759, 715760, 715761, 715762, 869204, 869203, 869202, 869201, 715766, 869200, 869199, 869198, 869197, 516295, 869196, 869195, 869194, 869193, 646460, 869172, 869173, 869174, 646459, 571874, 571875, 571873, 627044, 627045, 533632, 533633, 533634, 533635, 533636, 533637, 533620, 571859, 571860, 571861, 571862, 571863, 571864, 571865, 571866, 571867, 577402, 577403, 627016, 627017, 627018, 627019, 627020, 627021, 627022, 627023, 627024, 627025, 627026, 573381, 573380, 573379, 573378, 573377, 573376, 573375, 573374, 573373, 573372, 573422, 573423, 573424, 573425, 573426, 573427, 573428, 573429, 573430, 573431, 573432, 573433, 573434, 573435, 573436, 573437, 573438, 573439, 573440, 573441, 573442, 573443, 573444, 573445, 573446, 573447, 573448, 573449, 573450, 573451, 573452, 573453, 573454, 465950, 465951, 465952, 465953, 465954, 465955, 465956, 465957, 465958, 465959, 465960, 465961, 465962, 465963, 465964, 465965, 465966, 465967, 465968, 465969, 465970, 465971, 465972, 465973, 465974, 465975, 466727, 831920, 831921, 831922, 831923, 831924, 831925, 831926, 893172, 893173, 893174, 893175, 893176, 893465, 893466, 893467, 893468, 893469, 893470, 893471, 727343, 727344, 590987, 727345, 727346, 727347, 727348, 727349, 727350, 727351, 727352, 678375, 678358, 678359, 678360, 678361, 678362, 678363, 678337, 678336, 678335, 678334, 678333, 678332, 678331, 678330, 678329, 678328, 678327, 678339, 678352, 678353, 678354, 678355, 678356, 678357, 678340, 893461, 898457, 898458, 898459, 898460, 898442, 898443, 466002, 898444, 898445, 898446, 898461, 898462, 898463, 619151, 619152, 619153, 619154, 619155, 619156, 619157, 465981, 465869, 465982, 465983, 465984, 739765, 465879, 465880, 533734, 533735, 465885, 739289, 466028, 465907, 466029, 645541, 645540, 466872, 645539, 645538, 645537, 645536, 645535, 466873, 466874, 78958, 466875, 466876, 534135, 534136, 534137, 78688, 78689, 78690, 78691, 78692, 78693, 78694, 78695, 78696, 78697, 78698, 534018, 908418, 908417, 908416, 908426, 645827, 908425, 78973, 78974, 78975, 78976, 78977, 78978, 78979, 78980, 634594, 634593, 634592, 634591, 634590, 634579, 634589, 634588, 900009, 533980, 533994, 533993, 914856, 702608, 702609, 702610, 702611, 702612, 702613, 702614, 702615, 702616, 645776, 535008, 535009, 645774, 646461, 535419, 535418, 535417, 825024, 825023, 825022, 535405, 825021, 825020, 825019, 825018, 825017, 825016, 825015, 825014, 825013, 825012, 51875, 825011, 825027, 825028, 825029, 825030, 646469, 646470, 61011, 61010, 61009, 61008, 61035, 61034, 61006, 61033, 61032, 61001, 61000, 60999, 60998, 60997, 60996, 60995, 60994, 60993, 656009, 656008, 656016, 656017, 656276, 656277, 656278, 656012, 656013, 656014, 656015, 656011, 656010, 14191, 14192, 14193, 14194, 14195, 14196, 14197, 14198, 14199, 14168, 649421, 649422, 649423, 649424, 649425, 650403, 650404, 650405, 650364, 650365, 650366, 650367, 650368, 650376, 650377, 650378, 650379, 650380, 650327, 650326, 650325, 650386, 650387, 650388, 650389, 44711, 44710, 44709, 652891, 652900, 652858, 652899, 652898, 652897, 652862, 652896, 652895, 652838, 652894, 652885, 652850, 25230, 25229, 25228, 25227, 25226, 25225, 649331, 649332, 649333, 869789, 869788, 649330, 649246, 869787, 869786, 649334, 649335, 649336, 649337, 649338, 649339, 649340, 649341, 649342, 649343, 649344, 649345, 649346, 78078, 78079, 78125, 78126, 672573, 672574, 78080, 672575, 672576, 672577, 672578, 672579, 672580, 672581, 672582, 672583, 78127, 78098, 78097, 649153, 649154, 845913, 845914, 845915, 845916, 845917, 845918, 845919, 845920, 845921, 822334, 822335, 822336, 822337, 822338, 78385, 76811, 78386, 572489, 572493, 572492, 572461, 572462, 572463, 572464, 572465, 78188, 572466, 572467, 572468, 572443, 572442, 572441, 572444, 78010, 78011, 78019, 80697, 80698, 80724, 80725, 80726, 80727, 80699, 80700, 80701, 78096, 80702, 80703, 572480, 572451, 572452, 76805, 572453, 822352, 822353, 822354, 822355, 822356, 822357, 822358, 822359, 822360, 822361, 822362, 822363, 822364, 822365, 822366, 572540, 639106, 639107, 639108, 639109, 639110, 639111, 639112, 942413, 942414, 942415, 942416, 942417, 942418, 813438, 813439, 813440, 813441, 813442, 813443, 813444, 813445, 813446, 813447, 813448, 813449, 813450, 813451, 813452, 813453, 813454, 813455, 813456, 813457, 813458, 813459, 813460, 813461, 813462, 813463, 813464, 813465, 813466, 878991, 878990, 878971, 878989, 878988, 878987, 878986, 878975, 878976, 878977, 878978, 878979, 878980, 878972, 878973, 878974, 83685, 83686, 83690, 83689, 83688, 83687, 81650, 81649, 81648, 81647, 81646, 81645, 824896, 824895, 824894, 824893, 824892, 824891, 824890, 824889, 824888, 824887, 824886, 614940, 614941, 614935, 614942, 81372, 77971, 81373, 81374, 81375, 81376, 81377, 81378, 81379, 81380, 81381, 81382, 81383, 878890, 878889, 878888, 878887, 878886, 84544, 84543, 84542, 77763, 77764, 77765, 77766, 77767, 77768, 77769, 77762, 77761, 77760, 77148, 77759, 77152, 76855, 77192, 77193, 77194, 77197, 77198, 824801, 824800, 77207, 824819, 824820, 824832, 824831, 84623, 84624, 84625, 84626, 84627, 84628, 84629, 84630, 84631, 84632, 84633, 84634, 84635, 84636, 77247, 84637, 84638, 84639, 84640, 84641, 84642, 84643, 84644, 84645, 84646, 84653, 84652, 84651, 84650, 84649, 84648, 84647, 84715, 84714, 84713, 84712, 84572, 84711, 84710, 84709, 84735, 84734, 77281, 84733, 84732, 84731, 84730, 84729, 84728, 824823, 824822, 824821, 77300, 77299, 77298, 77297, 77296, 77295, 77294, 77293, 77292, 77291, 77211, 77303, 77304, 77305, 77306, 77307, 879096, 879095, 77314, 77315, 77316, 77317, 77318, 77319, 77320, 77321, 77322, 77323, 77324, 77325, 77326, 77327, 77328, 77329, 77330, 77331, 77332, 77333, 77334, 77335, 77336, 77337, 77338, 77339, 77340, 77341, 77342, 77343, 77344, 77345, 77346, 77347, 77348, 77349, 76517, 76516, 76515, 76514, 76513, 76512, 76511, 76508, 76507, 76506, 76505, 76504, 76503, 76502, 76840, 76841, 76842, 76843, 76844, 76845, 76846, 76847, 76848, 76849, 76850, 76851, 41286, 41410, 41411, 41412, 41413, 41414, 520574, 698737, 698738, 698739, 698740, 698741, 698742, 698743, 698744, 698745, 698746, 698747, 655621, 698748, 698749, 69613, 895546, 895547, 895548, 895549, 895550, 543974, 543858, 543973, 543972, 543971, 543970, 543967, 543966, 543965, 543964, 543963, 543962, 543961, 543960, 27632, 543986, 543987, 543959, 543958, 543957, 543956, 543955, 543954, 543953, 543952, 543951, 543950, 606372, 606271, 606371, 606370, 606369, 606368, 606367, 606366, 606365, 606364, 543947, 543946, 543945, 543944, 543943, 704353, 606219, 543942, 543941, 543940, 543939, 543837, 543938, 895569, 895570, 895571, 895572, 912896, 912895, 912894, 912893, 912892, 912891, 912890, 912889, 912888, 912887, 899881, 899880, 899879, 899878, 899877, 899876, 915113, 915114, 915115, 915116, 915117, 915118, 915119, 915135, 915134, 915133, 915132, 915131, 915130, 915129, 915128, 915102, 915103, 915104, 915105, 915106, 915107, 915108, 915109, 915110, 915111, 915112, 745187, 745186, 745185, 745204, 745203, 745202, 745201, 745200, 745199, 745198, 745205, 745206, 745207, 745208, 745209, 745210, 745211, 745212, 745213, 745214, 745215, 745216, 745217, 745218, 745219, 745220, 745221, 745222, 748797, 748783, 748784, 748785, 744980, 744981, 744982, 744983, 744984, 744985, 744986, 744987, 748809, 748808, 748807, 748806, 744820, 744821, 744822, 744823, 744824, 744825, 744783, 744766, 744767, 744768, 744769, 744770, 744771, 744772, 744773, 744774, 744907, 744906, 744905, 744904, 744903, 744902, 744901, 744900, 744899, 744898, 744897, 744896, 744895, 744894, 777004, 777003, 777002, 777001, 777000, 776999, 776998, 776997, 744805, 744804, 744803, 744876, 744877, 744878, 744879, 744880, 744830, 744831, 744832, 744833, 744834, 744835, 744836, 744837, 776978, 776977, 776991, 745027, 745026, 745025, 745024, 704338, 704339, 704340, 704341, 704342, 704343, 704344, 704345, 704346, 704347, 923324, 895584, 895585, 895586, 895587, 895588, 895589, 895590, 895591, 895592, 895593, 895594, 895595, 895596, 895597, 895598, 821285, 821286, 821287, 821288, 821289, 821290, 71010, 71011, 71012, 71013, 71014, 71015, 71016, 71017, 71018, 543920, 543921, 543922, 543923, 543924, 543925, 543926, 543927, 543928, 543929, 543930, 543931, 543932, 543933, 543934, 543935, 543936, 543937, 943430, 572665, 821123, 775988, 821081, 821124, 821106, 821088, 821105, 821048, 821107, 821108, 821109, 821110, 595623, 821111, 821112, 576355, 821113, 821114, 821115, 821116, 575077, 575078, 575079, 96933, 96934, 96935, 96936, 96937, 96938, 821164, 821165, 96946, 821166, 821167, 821168, 96945, 821169, 821170, 821171, 96870, 96869, 96868, 96867, 96866, 96865, 96864, 96863, 96862, 96861, 96860, 96859, 96858, 96857, 96856, 96855, 96884, 96883, 96882, 96881, 96880, 96879, 96878, 96894, 595683, 760565, 760525, 760526, 760527, 760528, 760529, 760503, 760502, 760501, 760500, 760499, 760498, 760497, 818660, 819838, 819837, 819734, 819836, 760550, 760549, 760548, 760547, 760546, 760545, 760544, 760543, 760521, 760522, 760523, 760524, 760507, 760508, 760509, 760510, 760511, 575118, 760512, 760513, 760514, 760515, 933666, 24299, 24300, 24301, 24302, 24303, 24304, 24305, 24306, 24307, 24308, 24309, 24310, 24311, 24312, 24313, 93729, 775958, 775959, 775960, 775961, 562347, 562348, 562349, 562350, 562351, 562365, 562366, 562367, 562368, 562369, 562370, 562371, 562372, 562373, 562374, 562375, 562376, 562377, 562378, 562379, 562380, 562381, 562382, 821787, 561866, 561865, 561864, 561863, 561854, 561878, 561877, 561855, 561856, 561857, 561858, 561859, 561860, 561861, 561862, 595504, 595503, 595502, 595501, 595500, 595499, 595498, 561827, 561817, 561818, 561819, 561820, 561821, 561822, 561823, 561799, 561800, 561801, 561802, 561803, 561804, 821874, 821875, 821860, 561890, 821861, 821862, 821863, 821864, 561796, 561797, 561798, 561769, 561768, 561767, 561766, 561765, 561764, 561763, 561783, 561782, 561781, 561780, 704451, 575121, 575120, 575119, 575131, 575130, 575129, 575128, 575127, 575126, 575125, 575124, 575123, 743529, 743530, 743531, 562436, 562435, 562434, 562433, 562432, 562431, 562430, 562443, 562442, 562441, 562440, 562439, 562438, 562437, 6604, 6603, 6602, 70003, 69999, 70000, 70001, 70002, 898754, 702498, 702499, 702500, 702501, 702502, 702503, 702504, 702505, 702506, 702507, 702508, 702509, 702510, 561680, 561679, 561678, 561677, 561676, 561590, 561589, 561588, 561587, 561586, 561585, 561584, 561583, 561582, 561581, 561580, 561591, 561592, 561593, 876631, 876630, 876629, 876610, 876609, 561606, 561607, 561608, 561609, 561610, 561611, 561612, 561613, 561614, 561615, 561616, 561617, 561618, 561619, 561620, 561621, 561622, 561637, 561638, 561639, 561640, 561641, 561648, 561649, 561650, 561651, 561652, 561653, 561654, 561655, 561656, 561657, 561658, 561659, 561660, 693506, 693457, 693458, 693459, 693460, 693461, 693462, 693463, 693464, 693465, 693410, 693402, 693439, 693440, 693441, 693442, 693443, 693444, 693445, 693411, 693412, 693413, 693414, 693415, 693416, 693417, 693503, 693502, 693501, 693500, 693499, 693498, 693497, 693496, 561666, 561667, 561668, 561669, 561670, 561671, 484534, 484535, 484536, 484537, 484538, 484539, 484540, 484541, 484542, 484543, 484544, 482074, 482075, 482076, 484339, 484340, 484341, 484342, 484343, 484344, 484345, 483881, 484346, 484255, 484256, 484257, 484258, 484259, 484260, 484261, 484262, 483544, 483545, 483546, 483706, 483707, 483708, 483709, 483710, 484506, 484505, 484504, 484503, 480999, 484502, 484501, 484500, 482506, 484499, 484498, 480535, 484497, 484496, 484495, 484494, 484706, 484707, 484402, 484708, 484709, 483671, 483492, 483491, 481587, 483490, 483489, 483488, 483487, 481274, 483486, 482793, 480993, 482794, 482795, 483450, 483439, 483438, 483437, 483436, 482467, 481237, 481236, 481235, 481234, 480762, 480761, 480760, 480759, 480758, 482549, 482548, 482547, 482546, 482545, 482544, 482543, 482542, 482541, 482540, 482727, 482728, 482729, 480633, 480634, 480635, 480636, 480637, 480638, 480639, 480640, 480641, 482274, 482273, 482272, 482271, 482270, 482269, 482268, 482267, 481189, 481190, 481191, 480571, 480572, 480573, 480574, 480575, 482737, 482738, 483187, 483235, 483236, 483237, 483005, 482830, 482591, 483004, 483232, 483231, 483230, 483229, 483228, 480938, 480937, 480936, 482623, 482622, 482621, 482620, 482619, 481404, 481405, 481406, 481407, 483021, 483020, 483019, 483018, 483017, 481746, 481747, 481158, 481159, 481160, 481161, 481162, 483476, 483477, 483478, 483479, 481749, 481750, 481337, 481338, 481339, 481340, 481341, 481342, 481343, 483058, 483059, 483060, 483061, 483062, 483063, 483064, 483065, 483066, 483067, 483068, 483069, 482242, 483070, 483071, 483072, 483990, 483989, 489937, 489936, 489935, 489934, 489933, 489932, 489931, 489930, 489929, 489928, 489927, 489926, 489925, 489924, 485322, 489923, 489922, 489921, 489920, 489919, 489918, 489917, 489916, 489915, 489914, 489913, 489912, 489911, 489910, 489909, 489908, 489907, 489906, 489905, 489110, 486062, 489904, 484921, 486533, 489903, 489006, 489902, 489901, 489900, 487120, 489899, 489898, 489897, 489896, 489814, 489895, 489894, 489893, 484973, 484974, 484975, 484976, 484977, 484978, 484979, 484980, 484981, 484982, 484983, 484984, 488440, 488441, 488442, 489708, 489709, 489710, 489711, 489712, 489713, 487340, 487339, 486388, 486387, 486386, 486385, 486384, 486383, 486382, 486381, 486023, 486380, 489659, 488757, 485426, 489658, 485802, 489950, 486446, 486445, 486444, 489089, 489088, 489087, 489086, 489085, 487726, 489084, 489083, 487873, 487874, 487875, 488474, 488473, 488472, 487913, 488471, 487226, 488470, 488469, 488468, 487073, 488467, 488466, 488465, 488464, 488463, 488462, 486363, 490420, 490419, 490418, 490417, 490416, 490415, 490414, 490413, 490412, 490411, 490410, 490409, 490408, 490407, 490406, 490405, 490404, 490403, 490402, 490401, 490400, 490399, 490398, 490397, 490396, 490395, 490394, 490393, 490392, 490391, 490390, 490389, 490388, 490387, 490386, 490385, 490384, 490383, 490382, 490381, 489978, 490380, 490364, 490365, 488481, 490366, 490367, 490368, 490369, 490370, 490371, 490372, 490373, 490374, 490375, 490376, 488637, 490486, 490487, 490488, 490489, 490490, 489161, 494677, 494678, 494679, 494680, 494681, 494682, 494683, 494684, 493687, 493688, 493689, 493690, 493691, 493692, 493693, 493694, 493695, 493696, 493697, 493698, 493699, 493700, 493701, 493702, 493703, 493704, 493705, 493706, 493707, 493708, 493709, 493710, 493711, 493712, 493713, 493714, 493715, 493716, 493717, 493718, 493719, 493720, 493721, 492802, 492803, 492804, 492805, 492806, 492807, 492808, 494038, 494039, 494040, 494041, 494042, 494043, 494044, 494045, 494046, 494047, 494048, 494049, 494050, 494051, 494052, 494053, 494054, 494055, 494056, 494057, 493754, 494058, 494059, 494060, 494061, 494062, 494063, 494064, 494065, 494066, 494067, 494068, 494069, 494070, 494071, 494072, 494073, 494074, 494075, 494076, 494077, 494078, 494079, 494080, 494081, 494082, 494083, 494084, 494085, 494086, 494087, 494088, 494089, 494090, 494091, 494092, 494093, 494094, 494095, 494096, 494097, 494098, 494099, 494100, 494101, 494102, 494103, 494104, 494105, 494106, 494107, 494108, 494109, 494110, 494111, 494112, 494113, 494114, 494115, 494116, 494117, 494118, 494119, 494120, 494121, 494122, 494123, 494124, 494125, 494126, 494127, 494128, 494129, 494130, 494131, 494132, 494133, 494134, 494135, 494136, 494137, 494138, 494139, 494140, 494141, 494142, 494143, 494144, 494145, 494146, 494147, 494148, 494149, 494150, 494151, 494152, 494153, 494154, 494155, 494156, 494157, 494158, 494159, 494160, 494161, 495585, 495584, 495583, 495582, 495581, 495580, 495579, 495578, 495577, 495576, 495575, 495574, 495573, 495572, 495571, 495570, 495569, 495568, 495567, 495566, 495565, 492152, 492151, 492150, 492149, 492148, 492147, 492146, 492145, 492144, 492143, 492142, 492141, 492140, 492139, 492138, 492137, 492136, 492135, 492134, 492133, 492132, 492131, 492130, 492129, 492128, 497049, 497048, 497047, 495986, 497046, 497045, 497044, 491750, 497043, 495228, 497042, 497041, 497040, 497039, 497038, 497037, 497036, 497035, 497034, 493520, 492011, 493521, 491900, 493522, 493523, 493524, 493525, 493526, 493527, 493528, 493529, 493530, 493531, 493532, 493533, 493534, 493535, 493536, 493537, 493538, 493539, 493540, 493541, 493542, 493543, 493544, 493545, 493546, 493547, 493548, 493549, 493550, 493551, 493552, 493553, 493554, 493555, 493556, 493557, 493558, 493559, 493560, 493561, 493562, 493563, 493564, 493565, 493566, 493567, 493568, 493569, 493570, 493571, 493572, 493573, 493574, 493575, 493576, 493577, 493578, 493579, 493580, 493581, 493582, 493583, 493584, 493585, 493586, 493587, 493588, 493589, 493590, 493591, 493592, 493593, 493594, 493595, 493596, 493597, 493598, 493599, 492654, 493600, 493601, 493602, 493603, 493604, 493605, 493606, 493607, 493608, 493609, 493610, 493611, 493612, 493613, 493614, 493615, 493616, 493617, 493618, 493619, 493620, 493621, 493622, 493623, 493624, 493625, 493626, 493627, 493628, 493629, 493630, 493631, 493632, 493633, 493634, 493635, 493636, 493637, 493638, 493639, 493640, 493641, 493642, 493643, 493644, 493645, 493646, 493647, 493648, 493649, 493650, 713074, 495331, 495332, 495333, 495334, 495335, 495336, 491661, 495337, 495338, 495339, 495340, 495341, 495342, 495343, 495344, 495345, 495346, 495347, 495348, 495349, 493371, 495024, 495023, 495022, 495021, 495020, 495019, 495018, 495017, 495016, 495015, 495014, 495013, 495012, 495011, 495010, 497131, 497130, 493963, 496920, 496921, 496922, 496923, 496924, 496925, 496926, 496927, 496928, 491712, 776591, 495835, 505287, 505286, 505285, 505284, 505283, 505282, 505281, 499241, 501845, 501846, 501847, 501848, 501849, 501850, 501851, 776600, 776601, 776602, 776603, 776604, 505223, 776605, 505492, 776606, 502147, 776607, 776608, 503341, 503340, 503339, 503338, 498494, 498495, 498496, 498497, 498498, 501715, 502698, 502697, 502696, 502695, 502694, 502693, 502692, 504858, 504859, 504860, 505456, 505457, 505458, 499739, 499738, 500907, 500230, 500231, 499448, 498341, 498342, 498343, 498344, 505505, 505600, 505601, 498519, 506414, 506053, 504241, 503173, 503839, 503838, 503837, 498911, 502176, 498678, 499648, 499649, 499650, 499206, 499651, 499652, 499653, 499654, 499655, 497799, 499656, 499657, 499658, 499659, 499660, 499661, 503313, 503314, 503315, 503316, 503317, 498008, 498009, 498010, 498011, 497704, 497705, 497706, 497707, 497708, 497709, 497710, 500034, 500035, 500036, 500037, 500038, 500039, 500040, 500041, 500042, 500043, 500044, 500045, 500046, 500047, 500048, 500049, 500050, 500051, 500052, 500053, 500054, 500055, 500056, 500057, 500058, 500059, 500060, 500061, 500062, 500063, 500064, 500065, 500066, 500067, 500068, 500069, 500070, 500071, 500072, 500073, 500074, 500075, 500076, 500077, 500078, 500079, 500080, 500081, 500082, 500083, 500084, 500085, 500086, 500087, 500088, 500089, 500090, 500091, 502035, 502034, 502033, 502032, 502031, 502030, 502029, 502028, 502027, 502026, 502025, 502024, 502023, 502022, 502021, 502020, 505761, 505760, 505759, 505758, 505757, 505756, 505755, 505754, 505753, 505752, 505751, 501120, 502467, 498314, 498313, 498312, 501161, 498442, 501160, 498356, 498355, 498438, 498437, 497497, 498436, 498435, 498434, 498433, 498432, 498431, 498430, 498429, 498428, 498427, 498426, 498425, 498424, 498423, 498422, 498421, 498420, 498419, 498418, 497866, 498417, 498416, 498415, 498414, 498413, 498412, 498411, 498410, 503642, 503643, 500625, 503644, 503645, 503646, 503647, 497777, 497776, 497775, 497774, 497773, 497772, 497771, 506297, 506298, 503698, 506299, 498534, 503025, 505526, 498463, 497908, 506300, 500222, 505408, 497905, 500220, 503694, 501319, 501760, 501761, 505898, 501099, 498092, 498091, 506514, 506513, 498119, 498120, 498121, 498122, 497954, 500490, 497752, 500489, 500488, 500487, 500486, 500485, 502882, 502881, 502880, 502879, 502878, 502877, 506578, 506579, 506580, 500677, 500676, 500675, 503771, 501399, 501398, 506445, 506446, 506447, 499899, 504273, 504274, 504275, 501426, 501425, 501424, 501423, 501422, 501421, 501420, 501419, 501418, 501417, 501416, 501415, 501414, 501413, 501412, 501411, 501410, 501409, 500954, 500953, 500952, 500951, 500950, 500949, 500948, 500947, 500946, 500945, 500944, 500943, 500942, 500941, 38458, 38457, 38456, 38455, 38454, 38453, 38452, 38451, 38450, 38449, 38448, 38447, 38446, 38445, 38444, 38443, 38442, 38441, 38440, 38439, 38438, 38437, 38436, 38435, 38434, 38433, 38432, 38431, 38430, 38429, 38428, 38427, 38426, 38425, 38424, 38423, 38459, 631299, 631298, 631297, 631296, 631295, 631294, 631293, 631292, 631415, 631414, 631413, 631412, 631411, 631410, 631409, 631408, 631407, 631406, 631405, 631404, 631403, 631402, 631401, 631400, 631399, 631398, 631397, 631396, 631395, 631394, 631393, 631392, 631391, 631390, 631389, 631388, 631387, 631386, 631385, 631384, 631383, 631382, 631381, 631380, 631379, 631378, 631377, 631376, 631375, 631374, 631373, 631372, 631371, 631370, 631369, 631368, 631367, 631366, 631365, 631364, 631363, 631362, 631361, 631360, 631359, 631358, 631357, 631356, 631355, 631354, 631353, 631352, 631351, 631350, 631349, 631348, 631347, 631346, 631345, 631344, 631343, 631342, 631341, 631340, 631339, 631338, 631337, 631336, 631335, 631334, 631333, 631332, 631331, 631330, 631329, 631328, 631327, 631326, 800337, 800338, 800339, 800340, 800341, 800342, 800343, 800344, 800345]                        , color='r')
        plt.show()
    _draw_stuff()
